Using access technology and location information to smartly initiate bearer independent protocol sessions

ABSTRACT

A user identity module (UIM) is incorporated in user equipment such as a mobile phone or mobile device. The UIM is configured to provision itself while roaming away from a home network as follows. The UIM may: send to the UE a request for information identifying a current radio access technology (RAT) that the UE is camped on; receive the current RAT information from the UE; send to the UE a request for network location information, where the network location information identifies a network in which the UE is currently camped; receive the network location information from the UE; generate an access point name (APN) using the current RAT information and the network location information; and open a channel through the network to a remote agent (e.g., a provisioning server) using the access point name.

RELATED APPLICATION DATA

This application claims the benefit of priority to U.S. ProvisionalApplication No. 61/676,716, filed on Jul. 27, 2012, entitled “UsingAccess Technology and Location Information to Smartly Initiate BIPSessions”, invented by Abhishek Sen, Madhusudan Chaudhary, Vikram B.Yerrabommanahalli, and Cesar Perez. That Provisional Application ishereby incorporated by reference in its entirety as though fully andcompletely set forth herein.

FIELD

The present embodiments relate to the field of wirelesstelecommunication, and more particularly to a mechanism allowing a useridentity module (UIM) that is incorporated/inserted/included in userequipment (UE) to provision itself in a roaming scenario and/or toprovision itself according to the radio access technology the userequipment is currently camped on.

DESCRIPTION OF THE RELATED ART

Wireless communication systems are rapidly growing in usage. Further,wireless communication technology has evolved from voice-onlycommunications to also include the transmission of data, such asInternet and multimedia content. Therefore, improvements are desired inwireless communication.

Subscribers in a wireless telecommunication network (e.g., a cellulartelecommunication network) are typically assigned subscriber identityinformation, which may be stored, e.g., in a subscriber identity module(SIM) of the subscriber's user equipment (UE) device. The SIM may alsobe referred to as a User Identity Module (UIM). As an example ofsubscriber identity information, subscribers in 3GPP (LTE/GSM/UMTS)networks have an International Mobile Subscriber Identity (IMSI) thatidentifies them in their carrier's network. The IMSI includes a 3-digitMobile Country Code (MCC), a 3-digit Mobile Network Code (MNC), and a9-digit Mobile Station Identification Number (MSIN).

According to the ETSI standard TS 102 223 V9.0.0, the UIM sends the UEproactive commands which can trigger an alteration of the behavior ofthe UE. Furthermore, the UE can send envelope commands to the UIM, e.g.,to inform the UIM of changes in location information (PLMN), changes inaccess technology, changes in time zone, call control events, menuselection events, etc. (A menu selection event is said to occur when theuser makes a selection from a menu, e.g., a menu displayed on agraphical user interface.)

Before a user can employ the UE to access subscribed services from thenetwork, the UIM must be provisioned. There exist methods forprovisioning the UIM when the UE is camped in a home scenario. However,it may be more difficult to provision the UIM in a roaming scenario,i.e., when the UE is roaming away from the user's home network. Thus,there exists a need for methods enabling the UIM to provision itself ina roaming scenario.

SUMMARY

In some embodiments, the user identity module (UIM) in the userequipment (UE) may use the UE's currently-camped access technologyinformation and the UE's currently-camped location information (e.g.,MCC and/or MNC) to determine the correct access point name (APN)information when initiating a data call via an open channel command. TheUIM may query for the UE's currently-camped access technology and queryfor the device's currently-camped location information (MCC/MNC), e.g.,by executing proactive commands as described in:

-   -   ETSI TS 102 223 V9.0.0 (2009-10), entitled “Smart Cards; Card        Application Toolkit (CAT) (Release 9)”.        (ETSI is an acronym for “European Telecommunications Standards        Institute”.) This process of determining the correct APN        information and initiating a data call may be used to provision        the UIM, especially in roaming scenarios where roaming APNs        might need to be used. (For example, the data call may be to a        provisioning server.) As used herein, the phrase “provisioning        the UIM” means performing any operation or operations necessary        to enable the UE and/or the UIM (via the UE as a data bearer) to        start exchanging user data and/or user voice traffic. The UE is        said to be “camping on a radio access technology” whenever the        UE is in a state of listening to the system information provided        by a base station operating according to the radio access        technology, and thus, the UE is able to quickly initiate a        connection with that base station. The UE device is said to be        “camping on a network” whenever the UE is in a state of        listening to the system information provided by a base station        belonging to the network, and thus, the UE is able to quickly        initiate a connection with that network via the base station. As        used herein, the term “roaming” is used to describe the        situation where the UE is camped on a network different from the        home network, or, camped on a network in a different country        away from the home network.

In some embodiments, a method for operating a UIM may involve: (a)sending to the UE a request for current radio access technology (RAT)information, where the current RAT information identifies a current RATthat the UE is camped on; (b) receiving the current RAT information fromthe UE; (c) sending to the UE a request for network locationinformation, where the network location information identifies thenetwork on which the UE is currently camped; (d) receiving the networklocation information from the UE; (e) generating or determining anaccess point name (APN) using the current RAT information and thenetwork location information; and (f) opening a data channel through thenetwork to a remote agent using the access point name. The UIM may use abearer independent protocol (BIP) to open the data channel.

BRIEF DESCRIPTION OF THE DRAWINGS

A better understanding of the present embodiments can be obtained whenthe following detailed description is considered in conjunction with thefollowing drawings.

FIG. 1 illustrates one embodiment of a wireless communication system.

FIG. 2 illustrates a base station 102-n in communication with userequipment (UE) device 206, according to one embodiment.

FIG. 3 illustrates a block diagram of a user equipment device 206,according to one embodiment.

FIG. 4 is a flowchart diagram illustrating a method for operating a useridentity module (UIM), according to one embodiment.

FIG. 5 illustrates one embodiment of a user identity module (UIM) 500that includes a processor 510 and memory 515.

While embodiments described herein susceptible to various modificationsand alternative forms, specific embodiments thereof are shown by way ofexample in the drawings and are herein described in detail. It should beunderstood, however, that the drawings and detailed description theretoare not intended to limit the embodiments to the particular formdisclosed, but on the contrary, the intention is to cover allmodifications, equivalents and alternatives falling within the spiritand scope of the present embodiments as defined by the appended claims.

DETAILED DESCRIPTION OF THE EMBODIMENTS

Acronyms

The following acronyms are used herein.

3GPP: Third Generation Partnership Project

3GPP2: Third Generation Partnership Project 2

APN: Access Point Name

BIP: Bearer Independent Protocol

CAT: Card Application Toolkit

CDMA: Code Division Multiple Access

eSIM: Embedded SIM

ETSI: European Telecommunications Standards Institute

GSM: Global System for Mobile Communications

HLR: Home Location Register

IMSI: International Mobile Subscriber Identity

LTE: Long Term Evolution

MCC: Mobile Country Code

MNC: Mobile Network Code

OTA: Over-The-Air

PIN: Personal Identification Number

PLMN: Public Land Mobile Network

PRL: Preferred Roaming List

PUK: Personal Unblocking Code

RAT: Radio Access Technology

SIM: Subscriber Identity Module

UE: User Equipment

UICC: Universal Integrated Circuit Card

UIM: User Identity Module

UMTS: Universal Mobile Telecommunications System

Terminology

The following is a glossary of terms used herein.

Memory Medium—A memory medium is a non-transitory medium configured forthe storage and retrieval of information. Examples of memory mediainclude: various kinds of semiconductor-based memory such as RAM and ROM(including static RAM and dynamic RAM of various kinds, and PROM, EPROM,EEPROM and flash memory of various kinds); various kinds of magneticmedia such as magnetic disk, tape, strip and film; various kinds ofoptical media such as CD-ROM, DVD-ROM and holographic media; variousmedia based on the storage of electrical charge and/or any of a widevariety of other physical quantities; media fabricated using variouslithographic techniques; etc. The term “memory medium” includes withinits scope of meaning the possibility that a given memory medium might bea union of two or more memory media that reside at different locations,e.g., on different chips in a system or on different computers in anetwork. A memory medium is typically computer-readable, e.g., iscapable of being read by a computer.

A computer-readable memory medium may be configured so that it storesprogram instructions and/or data, where the program instructions, ifexecuted by a computer system, cause the computer system to perform amethod, e.g., any of a method embodiments described herein, or, anycombination of the method embodiments described herein, or, any subsetof any of the method embodiments described herein, or, any combinationof such subsets.

Carrier Medium—a memory medium as described above, as well as a physicaltransmission medium, such as a bus, network, and/or other physicaltransmission medium that conveys signals such as electrical,electromagnetic, or digital signals.

Programmable Hardware Element—includes various hardware devicescomprising a plurality (e.g., an array) of programmable function blocksconnected via a programmable interconnect. Examples include FPGAs (FieldProgrammable Gate Arrays), PLDs (Programmable Logic Devices), FPOAs(Field Programmable Object Arrays), and CPLDs (Complex PLDs). Theprogrammable function blocks may range from fine grained (combinatoriallogic or look up tables) to coarse grained (arithmetic logic units orprocessor cores). A programmable hardware element may also be referredto as “reconfigurable logic”.

Computer System—any of various types of computing or processing systems,including a personal computer system (PC), mainframe computer system,workstation, network appliance, Internet appliance, personal digitalassistant (PDA), personal communication device, smart phone, mobilephone, tablet computer, television system, grid computing system, a userequipment device, a user identity module, or other device orcombinations of devices. In general, the term “computer system” can bebroadly defined to encompass any device (or combination of devices)having at least one processor that executes instructions stored in amemory medium.

User Equipment (UE)—any of various types of computer system deviceswhich are mobile or portable and which perform wireless communications.Examples of UEs include mobile phones or smart phones (e.g., iPhone™,Android™-based phones), portable gaming devices (e.g., Nintendo DS™,PlayStation Portable™, Gameboy Advance™, iPhone™), laptops, tabletcomputers, PDAs, portable Internet devices, music players, data storagedevices, or other handheld devices, etc. In general, the term “UE” or“UE device” can be broadly defined to encompass any electronic,computing, and/or telecommunications device (or combination of devices)which is easily transported by a user and capable of wirelesscommunication.

Automatically—refers to an action or operation performed by a computersystem (e.g., software executed by the computer system) or device (e.g.,circuitry, programmable hardware elements, ASICs, etc.), without userinput directly specifying or performing the action or operation. Thusthe term “automatically” is in contrast to an operation being manuallyperformed or specified by the user, where the user provides input todirectly perform the operation. An automatic procedure may be initiatedby input provided by the user, but the subsequent actions that areperformed “automatically” are not specified by the user, i.e., are notperformed “manually”, where the user specifies each action to perform.For example, a user filling out an electronic form by selecting eachfield and providing input specifying information (e.g., by typinginformation, selecting check boxes, radio selections, etc.) is fillingout the form manually, even though the computer system must update theform in response to the user actions. The form may be automaticallyfilled out by the computer system where the computer system (e.g.,software executing on the computer system) analyzes the fields of theform and fills in the form without any user input specifying the answersto the fields. As indicated above, the user may invoke the automaticfilling of the form, but is not involved in the actual filling of theform (e.g., the user is not manually specifying answers to fields butrather they are being automatically completed). The present patentprovides various examples of operations being automatically performed inresponse to actions the user has taken.

FIGS. 1-2: Communication System

FIG. 1 illustrates a wireless communication system according to onepossible embodiment.

A plurality of UEs 106 wirelessly communicate with a plurality of basestations 102-1 through 102-N. The base stations 102-1 through 102-N maycouple to a network 100. The base stations may be partitioned intosubsets based on the type of radio access technology (RAT) or wirelesscommunication standard they are configured to use for communicating withUEs. For example, a first subset of the base stations may use a firstRAT for communicating with UEs. A second subset of the base stations mayuse a second RAT to communicate with UEs, and so on. (The total numberof UEs and the number of UEs per base station shown in FIG. 1 are notmeant to be limiting. Arbitrary numbers are contemplated.) The RATs usedby the subsets of base stations may include RATs conforming to GSM,CDMA, GPRS, W-CDMA, EDGE, CDMA2000, LTE, WiMAX, WiFi, Bluetooth, etc.

Each UE 106-k may be configured to communicate using any of a pluralityof radio access technologies. (The UE may also be referred to simply as“a user device” or “mobile device” or “UE device”.) As the UE 106-kmoves geographically from one region to another, it may need to usedifferent RATs. Thus, the current RAT being used by the UE 106 maychange from time to time. FIG. 1 shows UE 106-1 in the vicinity of abase station 102-1 which uses a first RAT. However, if the UE 106-1moves into the neighborhood of base station 102-2, it may need to use adifferent RAT, and so on.

Each base station 102-n, n=1, 2, . . . , N, may be configured to receivewireless signal transmissions from UEs, recover respective streams ofnetwork-directed data from the signal transmissions, and to transmit thestreams of network-directed data to the network 100. Moreover, each basestation 102-n may be configured to receive streams of device-directeddata from the network 100, modulate the streams of device-directed dataonto respective signals, and wirelessly transmit the modulated signalsto the respective UEs. Thus, the base stations may facilitatecommunication between the UEs and the network 100. The base stations mayalso facilitate communication between the UEs.

The network 100 may be operated by a wireless network operator orservice provider. The network 100 may couple to one or more othernetworks, e.g., the Internet and/or the public switched telephonenetwork (PSTN).

Different network operators (or service providers or wireless carriers)may operate different networks. The networks may be interconnected viathe Internet and/or by other means. The user of a given UE device may besubscribed with a particular network operator, and thus, be permitted touse his/her UE device within the operator's network. That network isreferred to as being the “home network” of the UE device. However,before the UE device can operate to exchange user data and/or user voiceconversations as intended, the UIM of the UE device must be provisioned.There exist mechanisms for performing this provisioning when the UEdevice is located within the geographical region covered by the homenetwork. In contrast, when the UE device is located outside the homenetwork geographical region, it may be more difficult for the UIM toprovision itself via roaming networks, i.e., networks other than thehome network.

FIG. 1B shows a network 100A which is coupled to a network 100B, e.g.,via the Internet 100X and/or the PSTN 100Y. Each network provides acorresponding set of base stations (each of which is denoted “BS”) andother infrastructure (not shown) through which subscribed UE devices mayaccess the network, the Internet 100X and/or the PSTN 100Y. A given UEdevice may have network 100A as its home network. The present disclosuredescribes mechanisms allowing the UIM of the UE device to provisionitself even when roaming away from the home network 100A, e.g., whenroaming within the geographical region of network 100B. While Figure lBshows each set of base stations as surrounding the correspondingnetwork, that visual feature is used only to avoid complication in thediagram and is not meant to be limiting. More typically, each set ofbase stations may be distributed in a two-dimensional fashion so as tocover a geographical region or a collection of geographical regions.Each base station may define a corresponding cell within a given region,as is known in the art of cellular networks.

The UE 106-k may include hardware and/or software for wirelesslycommunicating using a plurality of RATs. For example, the UE may beconfigured to communicate using a 3GPP RAT (such as LTE) and a 3GPP2 RAT(such as CDMA2000). Other combinations of RATs (e.g., including morethan two RATs) are also possible. In some embodiments, the UE might alsoor alternatively be configured to communicate using WLAN, Bluetooth, oneor more global navigational satellite systems (GNSS, e.g., GPS orGLONASS), one and/or more mobile television broadcasting standards(e.g., ATSC-M/H or DVB-H), etc.

FIG. 2 illustrates user equipment (UE) 206 (e.g., one of the devices106-1 through 106-N as variously described above) in communication witha base station 102-n. The UE 206 may be a device with wireless networkconnectivity such as a smart phone, a mobile phone, a hand-held device,a personal digital assistant, an mobile Internet appliance, a portablecomputer, a tablet computer, a portable media player, or virtually anytype of wireless device.

The UE 206 may include a processor and memory, where the processor isconfigured to execute program instructions stored in the memory. Thus,the UE 206 may perform any desired method by executing such storedprogram instructions. In some embodiments, the UE 206 may alternativelyor additionally include an application specific integrated circuit(ASIC) and/or a field programmable gate array (FPGA). The UE 206 mayinclude an ASIC or an FPGA that is configured to perform any desiredmethod.

In some embodiments, the UE 206 may be configured to communicate usingany of a plurality of radio access technologies (RATs), e.g., based onthe RAT supported by the nearest (or strongest) base station to the UE206. For example, the UE 206 may be configured to communicate using twoor more of CDMA 2000, LTE, UMTS, WLAN, GSM, GPRS, WiMax or GNSS. Othercombinations of RATs are also possible.

In some embodiments, the UE 206 may include one or more antennas and oneor more transceivers. The one or more transceivers are configured totransmit and receive wireless signals through the one or more antennas.Each transceiver may be configured to transmit and receive signalsaccording a corresponding radio access technology. In some embodiments,a transceiver may be programmable so that it can transmit and receiveaccording to different radio access technologies at different times. TheUE 206 may include one or more programmable transceivers.

FIG. 3—Example Block Diagram of a UE

FIG. 3 illustrates a block diagram of the UE 206 according to oneembodiment. The UE 206 may include hardware and software components forperforming data and/or voice communication with network 100 via one ormore of the base stations. As shown in FIG. 3, the UE 206 may include asystem on chip (SOC) 200, which may include portions for variouspurposes. For example, as shown, the SOC 200 may include processor(s)202 which may execute program instructions for the UE 206. Theprocessor(s) 202 may couple to display circuitry 204 and memorymanagement unit 240. Display circuitry 204 may perform graphicsprocessing and provide display signals to the display 240. Memorymanagement unit (MMU) 240 may be configured to receive addresses fromthe processor(s) 202 and translate those addresses to locations inmemory, e.g., memory 208, read only memory (ROM) 250 and flash memory210. ROM 250 may include a bootloader 252, which may be executed by theprocessor(s) 202 during boot up or initialization. The MMU 240 may beconfigured to perform memory protection and page table translationand/or set up. In some embodiments, the MMU 240 may be included as aportion of the processor(s) 202.

The SOC 206 may couple to other circuits or devices, such as useridentity module 310, memory (e.g., flash memory 210), connectorinterface 220, radio subsystem 230 and display 240.

The connector interface 220 may be configured for coupling to anexternal computer system.

The radio subsystem 230 may be configured for wireless communicationwith base stations and/or other devices according to a plurality ofradio access technologies, e.g., as described above. In someembodiments, the radio subsystem 230 may communicate according to aselected one of the radio access technologies at any given time, e.g.,based on a selection specified by processor(s) 202. In otherembodiments, the radio subsystem 230 may allow simultaneouscommunication using two or more selected ones of the radio accesstechnologies. The radio subsystem 230 may include one or moretransceivers, e.g., as described above.

The UE 206 may include one or more antennas. The radio subsystem 230receives and transmits signals into space through the one or moreantennas. For example, the UE 206 may use antennas 235 and 237 toperform the wireless communication. In some embodiments, the radiosystem 230 is configured for MIMO communication with base stations usingtwo or more antennas.

The User Identity Module (UIM) 310, also referred to as a SIM(Subscriber Identity Module), may include its own processor and memory.The memory may store program instructions (e.g., organized in terms ofone or more programs or modules or software applications). The processoris configured to read and execute the program instructions. By executingthe program instructions, the processor may initiate a BIP session asdescribed variously herein, e.g., in order to provision itself (orre-provision itself) through an open channel to a provisioning server.BIP is an acronym for “Bearer-Independent Protocol”.

The UIM 310 may be removable. In some embodiments, the UIM may beimplemented on a card, e.g., a removable smart card or removable SIMcard. In one embodiment, the UIM may be installed on a removable UICC.

Alternatively, the UIM may be embedded in the UE 206 and notconveniently removable. In some embodiments, the UE 206 may include anembedded UICC (eUICC), e.g., a device that is built into the UE 206 andis not removable. The eUICC may be programmable, such that an embedededSIM (eSIM) may be implemented on the eUICC. In other embodiments, theeSIM may be installed in UE 206 software, e.g., as a set of programinstructions stored on a memory medium (such as memory 208) executing ona processor (such as processor 202) in the UE 206.

The UIM 310 may store a number of types of information, including anInternational Mobile Subscriber Identity (IMSI) number which identifiesthe subscriber to his/her carrier's network. The IMSI may, for example,be a number including the subscriber's “home” mobile country code (MCC)and “home” mobile network code (MNC), as well as a Mobile SubscriptionIdentification Number (MSIN) which is unique to the subscriber. Theinformation stored in the UIM may also or alternatively include apersonal identification number (PIN) (e.g., a code which the user mayuse to access the UIM), a personal unblocking code and/or personalunblocking key (PUC/PUK), and one or more authentication keys (K/Ki).Any of a variety of other information may be implemented on the UIM,depending on the embodiment.

The processor 202 of the UE 206 may be configured to implement any ofthe methods described herein or parts thereof, e.g., by executingprogram instructions stored on a memory medium (e.g., a non-transitorycomputer-readable memory medium). In some embodiments, processor 202 maybe configured as a programmable hardware element such as an FPGA (FieldProgrammable Gate Array) and/or as an ASIC (Application SpecificIntegrated Circuit).

FIG. 4—Flowchart

In one set of embodiments, a method 400 for operating a user identitymodule (UIM) may involve the operations shown in FIG. 4. (The method 400may also include any subset of the features, elements and embodimentsdescribed above.) The UIM is incorporated in a user equipment (UE)device. (By saying that the UIM is “incorporated” in the UE device, wedo not mean to suggest that the UIM is permanently coupled to the UIM.Indeed, in many implementations, the UIM may be configured as aremovable module.) The method 400 may be performed by a processor thatis included as part of the UIM. The processor may perform the method 400by executing program instructions stored in a memory, e.g., a memory inthe UIM. The method 400 may be performed while the UE device is roamingaway from a home network. The method 400 may include the followingoperations.

At 410, the UIM may send to the UE device a request for technologyinformation identifying a current radio access technology (RAT) beingused by the UE device, i.e., the radio access technology that the UEdevice is currently camped on. In some embodiments, the UIM may executeor assert the PROVIDE LOCATION INFORMATION command as defined in acommunication standard such as ETSI Standard TS 102 223 v9.0 to obtainthe current RAT. In other embodiments, e.g., in the case of animplementation that is specific to a particular network operator (i.e.,not conforming to any standardized specification), the UIM may requestthe technology information by executing a custom-designed command. TheUIM and UE device may include software infrastructure for communicatingwith each other through the hardware interface connecting the UIM andUE, e.g., a software infrastructure conforming to one or more standardssuch as the ISO standards for SIM cards.

The current RAT is a member of the set S_(RAT) of radio accesstechnologies supported by the UE device. The technology information maybe stored in a memory of the UE device. Thus, the UE device may accessits memory upon receiving the request from the UIM, and respond bytransmitting the technology information to the UIM. Radio accesstechnologies that might populate the supported set S_(RAT) mightinclude, for example, GSM, GPRS, UMTS, LTE, CDMA2000, WiMAX. Thesupported set S_(RAT) may be different for different types or models ofUE device and/or for different network providers. For example, UEdevices configured for use with one network provider may support thecombination of CDMA2000 and LTE, while UE devices configured for usewith another network provider may support the combination of GSM/GPRS,UMTS and LTE, while UE devices configured for use with yet anothernetwork provider may support the combination of GSM and LTE.

At 415, the UIM may receive the technology information from the UEdevice.

At 420, the UIM may send to the UE device a request for network locationinformation, e.g., by asserting another proactive command or acustom-designed command. The network location information identifies anetwork in which the UE device currently resides (i.e., in which the UEdevice is currently camped). Networks in which the UE device may becamped include, for example, the networks provided by carriers such asVerizon, Sprint, ATT, T-Mobile, China Unicom, Orange, Vodafone, etc.(The network may be identified by the MCC-MNC pair reported to the UIMby the UE.)

The network location information may include a mobile country code (MCC)and a mobile network code (MNC). The network location information may bestored in the memory of the UE device. (The UE device is assumed to besuccessfully camped on some radio access technology. Thus, the UE devicewill be in possession of the network location information.) The UEdevice may access the network location information from the memory inresponse to the location request, and respond by transmitting thenetwork location information to the UIM.

At 425, the UIM may receive the network location information from the UEdevice.

At 430, the UIM may generate (or determine) an access point name of thenetwork (i.e., the currently-camped network) using the technologyinformation and the network location information. The access point namemay include the mobile country code and the mobile network code of thenetwork. The access point name may also include a special name used bythe network. The process or algorithm by which the technologyinformation and network location information are used to generate anaccess point name for the currently-camped network is dependent on thenetwork operator of the home network associated with the UIM. In otherwords, the home network operator is free to specify how the UIMdetermines the access point name based on the technology information andthe network location information. For example, the home network operatormay require that the UIM use the technology information and the roamingoperator's special provisioning-name to select an APN that has beenpreviously stored in the UIM. The home network operator (or an agent ofthe home network operator) may previously store a list of APNs in theUIM, e.g., APNs used by various networks that might be visited by the UEdevice. Likewise, the home network operator (or an agent of the homenetwork operator) may previously store a list of special names,including provisioning names, used by the various networks. In oneembodiment, the UIM determines the access point name by performing atable lookup in the APN list using the technology information and thenetwork location information.

At 435, the UIM may open a channel to a remote agent (e.g., a remoteserver) through the network using the access point name. The networkresponds with an indication that the channel has been established. Forexample, the UIM may connect to the remote server via an OPEN CHANNELproactive command that contains the APN information, type of internetsocket being opened (TCP/UDP), etc. The confirmation for OPEN CHANNELcommand indicates to the UIM that the data call has been successfullyestablished. The UIM can then start transferring data back and forthbetween itself and the remote server via the channel.

The channel may be opened using a bearer independent protocol (BIP),e.g., the bearer independent protocol as standardized in TS 102 223v9.0. Thus, the channel may be a BIP channel. The bearer independentprotocol is a mechanism that enables the UIM to communicate with thenetwork in a manner that is independent of the particular data bearer(s)used by the UE device. The term “data bearer” refers to a communicationprotocol used by the UE device to communicate data via the network.Examples of data bearers that might be supported by the UE deviceinclude: data over cellular technologies (such as LTE, eHRPD, CDMA,etc.), WiFi, etc. BIP ensures that the communication is not dependent onthe RAT or access technology.

The method 400 may also include: requesting UIM provisioning information(e.g., program code and/or subscriber identity information) from theremote agent via the channel that has been opened; and receiving theprovisioning information from the remote agent via the channel. (Theprovisioning information allows the UIM to be used with the UE device.The provisioning information may provide the UIM with correctsubscription parameters such as phone number, voicemail number, PLMNcamping information, PRL updates for correct device camping behavior,etc.

In some embodiments, the UE device may be programmed to send envelopecommands and/or custom designed commands to the UIM, informing the UIMof changes in location information (e.g., PLMN changes), changes inradio access technology (RAT), time zone changes, call control events,user menu selection events, etc. The UIM may generate the access pointname and open the channel to the remote agent in response to receivingone or more such commands from the UE device.

The embodiments described herein may be realized in any of variousforms. For example, some embodiments may take the form of acomputer-implemented method, a computer-readable memory medium, or acomputer system. Some embodiments may be realized using one or morecustom-designed hardware devices such as ASICs. Some embodiments may berealized using one or more programmable hardware elements such as FPGAs.

In some embodiments, a non-transitory computer-readable memory mediummay be configured so that it stores program instructions and/or data,where the program instructions, if executed by a processor, cause theprocessor to perform a method, e.g., any of the method embodimentsdescribed herein, or, any combination of the method embodimentsdescribed herein, or, any subset of any of the method embodimentsdescribed herein, or, any combination of such subsets.

In some embodiments, a computer system may be configured to include aprocessor (or a set of processors) and a memory medium, where the memorymedium stores program instructions, where the processor is configured toread and execute the program instructions from the memory medium, wherethe program instructions, when executed by the processor, cause theprocessor to implement any of the various method embodiments describedherein (or, any combination of the method embodiments described herein,or, any subset of any of the method embodiments described herein, or,any combination of such subsets). The computer system may be realized inany of various forms. For example, the computer system may be a personalcomputer (in any of its various realizations), a workstation, a computeron a card, an application-specific computer in a box, a server computer,a client computer, a hand-held device, a mobile device, a tabletcomputer, a wearable computer or a user identity module (UIM) asvariously described herein.

FIG. 5 shows a user identity module (UIM) 500 that includes a processor510, memory 515 and an interface 520. (UIM 500 may also include anysubset of the elements, features and embodiments described above.) Theprocessor 510 is configured to execute program instructions and operateon data stored in the memory 515, and thus, to implement any of thevarious methods described herein or any combination of those methods.The interface 520 is configured to handle communication with the UEdevice (e.g., the UE device 206) over the interconnection bus 522, i.e.,communication with the UE device in which the UIM is incorporated, e.g.,inserted.

Although the embodiments above have been described in considerabledetail, numerous variations and modifications will become apparent tothose skilled in the art once the above disclosure is fully appreciated.It is intended that the following claims be interpreted to embrace allsuch variations and modifications.

What is claimed is:
 1. A method for operating a user identity module(UIM) that is incorporated in a user equipment (UE) device, the methodcomprising: sending to the UE device a request for current radio accesstechnology (RAT) information, wherein the current RAT informationidentifies a current RAT that the UE device is camped on; receiving thecurrent RAT information from the UE device; sending to the UE device arequest for network location information, wherein the network locationinformation identifies a current network in which the UE device iscurrently camped; receiving the network location information from the UEdevice; generating an access point name using the current RATinformation and the network location information; opening a channelthrough the current network to a remote agent using the access pointname.
 2. The method of claim 1, wherein said opening the channel isperformed using a bearer independent protocol (BIP).
 3. The method ofclaim 1, further comprising: requesting provisioning information fromthe remote agent via the channel; receiving the provisioning informationfrom the remote agent via the channel.
 4. The method of claim 1, whereinthe network location information includes a mobile country code (MCC)and a mobile network code (MNC).
 5. The method of claim 1, wherein saidgenerating the access point name includes accessing the access pointname from a list of access point names using the current RAT informationand the network location information, wherein the list is stored in amemory of the UIM or a memory of the UE device.
 6. The method of claim1, wherein said sending the request for current RAT informationcomprises executing a PROVIDE LOCATION INFORMATION command as defined byETSI Standard TS 102
 223. 7. The method of claim 1, wherein the methodis performed while the UE device is roaming away from a home networkassociated with the UIM.
 8. A non-transitory memory medium storingprogram instructions, wherein the memory medium is readable by aprocessor included in a user identity module (UIM), wherein the useridentity module is configured for incorporation in a user equipment (UE)device, wherein the program instructions, when executed by theprocessor, cause the processor to implement: sending to the UE device arequest for current radio access technology (RAT) information, whereinthe current RAT information identifies a current RAT that the UE deviceis camped on; receiving the current RAT information from the UE device;sending to the UE device a request for network location information,wherein the network location information identifies a network in whichthe UE device is currently camped; receiving the network locationinformation from the UE device; generating an access point name usingthe current RAT information and the network location information; andopening a channel to a remote agent through the network using the accesspoint name.
 9. The memory medium of claim 8, wherein the programinstructions, when executed by the processor, further cause theprocessor to implement: requesting provisioning information from theremote agent via the channel; receiving the provisioning informationfrom the remote agent via the channel.
 10. The memory medium of claim 8,wherein the network location information includes a mobile country code(MCC) and a mobile network code (MNC).
 11. The memory medium of claim 8,wherein said generating the access point name includes accessing theaccess point name from a list of access point names using the currentRAT information and the network location information, wherein the listis stored in a memory of the UIM or a memory of the UE device.
 12. Thememory medium of claim 8, wherein said opening the channel is performedusing a bearer independent protocol (BIP).
 13. The memory medium ofclaim 8, wherein said sending the request for current RAT informationcomprises executing a PROVIDE LOCATION INFORMATION command as defined byETSI Standard TS 102
 223. 14. The memory medium of claim 8, wherein thememory medium is incorporated in the UIM.
 15. A user identity module(UIM) that is configured for incorporation in a user equipment (UE)device, the UIM comprising: a processor; and memory storing programinstructions, wherein the program instructions, when executed by theprocessor, cause the processor to: (a) send to the UE device a requestfor current radio access technology (RAT) information, wherein thecurrent RAT information identifies a current RAT that the UE device iscamped on; (b) receive the current RAT information from the UE device;(c) send to the UE device a request for network location information,wherein the network location information identifies a network in whichthe UE device is currently camped; (d) receive the network locationinformation from the UE device; (e) generate an access point name usingthe current RAT information and the network location information; (f)open a channel through the network to a remote agent using the accesspoint name.
 16. The UIM of claim 15, wherein the program instructions,when executed by the processor, further cause the processor to: requestprovisioning information from the remote agent via the channel; andreceive the provisioning information from the remote agent via thechannel.
 17. The UIM of claim 15, wherein the network locationinformation includes a mobile country code (MCC) and a mobile networkcode (MNC).
 18. The UIM of claim 15, wherein said generating the accesspoint name includes accessing the access point name from a list ofaccess point names using the current RAT information and the networklocation information.
 19. The UIM of claim 15, wherein said opening thechannel is performed using a bearer independent protocol (BIP).
 20. TheUIM of claim 15, wherein (a) through (f) are performed while the UEdevice is roaming away from a home network.